// 在 Go 中，数组是特定长度的元素的编号序列
package main

import "fmt"

func main() {

	// 这里我们创建一个数组a，该数组将正好容纳 5 个ints。元素的类型和长度都是数组类型的一部分。默认情况下，数组为零值，对于ints 来说，这意味着0。
	var a [5]int
	fmt.Println("emp:", a)

	// 根据数组元素的索引给数组中的元素赋值，并根据数组元素索引输出数组元素的值
	a[4] = 100
	fmt.Println("set:", a)
	fmt.Println("get:", a[4])

	// 使用内置的命令len，输出数组的长度
	fmt.Println("len:", len(a))

	// 声明并初始化一个数组
	b := [5]int{1, 2, 3, 4, 5}
	fmt.Println("dcl:", b)

	// 使用内置命令range，遍历数组，idx表示数组元素的索引，item表示数组元素的值
	for idx, item := range b {
		fmt.Println(idx, ":", item)
	}

	//数组类型是一维的，但是可以根据组合的方式创建多维数组，以下是二维数组的创建方式
	var twoD [2][3]int
	for i := 0; i < 2; i++ {
		for j := 0; j < 3; j++ {
			twoD[i][j] = i + j
		}
	}

	// 打印二维数组
	fmt.Println("2d: ", twoD)
}
